function VisaRead(doc, container, width, height, user, date, options, data) {
  this._doc = doc;
  this._container = container;
  this._width = width;
  this._height = height;
  this._user = user;
  this._date = date;
  this._options = options;
  this._data = data;
  
  this._unique = MiscUtils.unique();
  this._createElements();
  this._gui = AbsVisaRead.gui(this._unique);
};

VisaRead.prototype._createElements = function() {
  var table, tr, td, img, itable, itr, itd;
  
  table = document.createElement('table');
  table.cellPadding = 0;
  table.cellSpacing = 0;
  table.style.width = '100%';
  table.style.padding = '10px 0';
  table.style.color = '#17183e';
  table.style.fontSize = '10pt';
  this._container.appendChild(table);
  
  tr = table.insertRow(-1);
  td = tr.insertCell(-1);
  td.colSpan = 2;
  td.style.verticalAlign = 'top';
  td.style.textAlign = 'right';
  img = document.createElement('img');
  img.style.margin = "0 15px 0 0";
  img.style.cursor = 'pointer';
  img.src = 'image/edit.png';
  img.id = this._unique + '_edit_img';
  td.appendChild(img);
  
  img = document.createElement('img');
  img.style.margin = '2px 13px 2px 2px';
  img.style.cursor = 'pointer';
  img.src = 'image/delete.png';
  img.id = this._unique + '_delete_img';
  td.appendChild(img);
  
  tr = table.insertRow(-1);
  td = tr.insertCell(-1);
  td.style.verticalAlign = 'top';
  td.style.width = '700px';
  
  itable = document.createElement('table');
  itable.cellPadding = 0;
  itable.cellSpacing = 0;
  td.appendChild(itable);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.width = '200px';
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Client No.'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_client_num_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Current Visa’s Expiry Date'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_date_expiry_current_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.verticalAlign = 'top';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Conviction Records'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.style.width = '260px';
  itd.style.lineHeight = '150%';
  itd.id = this._unique + '_record_conviction_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '15px 10px';
  itd.style.textAlign = 'right';
  itd.style.verticalAlign = 'top';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Refuse Records'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.style.width = '260px';
  itd.style.lineHeight = '150%';
  itd.style.padding = '9px 0';
  itd.id = this._unique + '_record_refuse_div';
  
  td = tr.insertCell(-1);
  td.style.verticalAlign = 'top';
  
  itable = document.createElement('table');
  itable.cellPadding = 0;
  itable.cellSpacing = 0;
  td.appendChild(itable);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.width = '200px';
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Type'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_appl_type_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Submit Date'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_appl_date_submit_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Medical Submit Time'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_medical_month_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('PCC Submit Time'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_pcc_month_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Scanned Documents'));
  itd = itr.insertCell(-1);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.colSpan = 2;
  var iitable = document.createElement('table');
  iitable.id = this._unique + '_docs_read_table';
  iitable.style.fontSize = '13px';
  iitable.style.fontWeight = 'normal';
  iitable.style.padding = '0 0 0 80px';
  itd.appendChild(iitable);
  
  tr = table.insertRow(-1);
  td = tr.insertCell(-1);
  td.style.verticalAlign = 'top';
  td.colSpan = 2;
  
  itable = document.createElement('table');
  itable.cellPadding = 0;
  itable.cellSpacing = 0;
  itable.style.margin = '15px 0';
  td.appendChild(itable);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.verticalAlign = 'top';
  itd.style.width = '200px';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('File Note/Process Records'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.style.width = '750px';
  itd.style.lineHeight = '150%';
  itd.id = this._unique + '_record_process_div';
  
  tr = table.insertRow(-1);
  td = tr.insertCell(-1);
  td.style.verticalAlign = 'top';
  td.style.width = '700px';
  
  itable = document.createElement('table');
  itable.cellPadding = 0;
  itable.cellSpacing = 0;
  itable.style.color = '#b67208';
  itable.style.fontFamily = 'Trebuchet MS';
  itable.style.fontSize = '14px';
  td.appendChild(itable);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.width = '200px';
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Application No.'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_appl_num_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Issue Date'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_date_issue_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.width = '200px';
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('New Visa’s Expiry Date'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_date_expiry_new_div';
  
  td = tr.insertCell(-1);
  td.style.verticalAlign = 'top';
  
  itable = document.createElement('table');
  itable.cellPadding = 0;
  itable.cellSpacing = 0;
  itable.style.color = '#b67208';
  itable.style.fontFamily = 'Trebuchet MS';
  itable.style.fontSize = '14px';
  td.appendChild(itable);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.width = '200px';
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Result'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_result_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Visa Pickup Date'));
  itd = itr.insertCell(-1);
  itd.style.color = '#360314';
  itd.id = this._unique + '_visa_date_pickup_div';
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.style.padding = '6px 10px';
  itd.style.textAlign = 'right';
  itd.style.fontWeight = 'bold';
  itd.appendChild(document.createTextNode('Scanned Visa Label'));
  itd = itr.insertCell(-1);
  
  itr = itable.insertRow(-1);
  itd = itr.insertCell(-1);
  itd.colSpan = 2;
  var iitable = document.createElement('table');
  iitable.id = this._unique + '_visa_read_table';
  iitable.style.fontSize = '13px';
  iitable.style.fontWeight = 'normal';
  iitable.style.padding = '0 0 0 80px';
  itd.appendChild(iitable);
};